package com.lukamikec.kmap;

import java.util.ArrayList;

public class kmap_scanner {
	
	public ArrayList<String> tokens;
	public ArrayList<String> pojavci;

	public String zag = "(", mog = "<>", nuz = "[]", non = "!", et = "*",
			vel = "+", pog = "->", dpog = "<->", zagg = ")", propslovo = "A";
	public String[] svi_znakici = { zag, mog, nuz, non, et, vel, pog, dpog, zagg };

	public kmap_scanner()
	{

	}

	public int gdjesam = 0, gdjesam2 = 0;
	public String get()
	{
		return tokens.get(gdjesam++);
	}
	public String get_pojavak()
	{
		return pojavci.get(gdjesam2++);
	}
	public String peek()
	{
		return tokens.get(gdjesam);
	}
	public boolean eof()
	{
		return gdjesam == tokens.size();
	}

	public kmap_scanner(String str)
	{
		tokens = new ArrayList<String>();
		pojavci = new ArrayList<String>();
		str += " ";
		for (int i = 0; i < str.length(); i++)
		{
			if (str.substring(i).startsWith(" ") || str.substring(i).startsWith("\n"))
				continue;
			boolean found = false;

			for (String ch : svi_znakici)
			{
				if (str.substring(i).startsWith(ch))
				{
					tokens.add(ch);
					found = true;
					i += ch.length() - 1;
				}
			}
			if (!found)
			{
				// prop slovo
				tokens.add(propslovo);
				pojavci.add(str.substring(i, i + 1));
			}
		}
	}
}
